YouTube视频数据分析报告 您所在的位置:网站首页 视频 数据分析 YouTube视频数据分析报告

YouTube视频数据分析报告

2023-10-14 06:22| 来源: 网络整理| 查看: 265

YouTube视频数据分析报告 一.数据来源及内容

Kaggle 是一个流行的数据科学竞赛平台。由 Goldbloom 和 Ben Hamner 创建于 2010 年(官网地址:Your Home for Data Science)。

数据来源于kaggle的公开数据。该数据集包含有关YouTube每日热门视频的数据。Kaggle提供的数据集包括了4个国家的热门Youtubo视频的每日记录,每个国家的数据文件为一个csv文件以及一个json文件。(CA加拿大 DE 德国 GB 英国 US 美国)

Csv文件:

Video_id视频id字符串Trending_date视频上榜的日期字符串title视频标题字符串Channel_titie所属频道标题字符串Category_id所属类别编号整型Publish_time视频发布时间时间类型tags视频标签字符串views观看次数整型likes点赞次数整型dislikes被踩次数整型Comment_count评论次数整型Comments_disabled评论是否被关闭布尔值Ratings_disabled打分是否关闭布尔值Video_error_or_removed视频出错或者被删布尔值description视频详情字符串

Json文件:

包含了category_id用于Csv文件的category_id做匹配,从而获取category的标题。

数据问题简单分析 1)统计所得

1、利用极值可以解决诸如以下的问题:

哪类视频播放量最高/最低? 哪类视频评论率最高/最低? 哪类视频的点赞率最高/最低?

2、利用箱型图可以描述不同类别的总体情况:

各类视频的观看数、点赞数、评论数的总体情况

3、利用正态分布可以:

得知观看数、点赞数、不喜欢数、评论数等分别是否符合正态分布, 进而可以再验证它们之间是否存在线性相关 2)问题分析

1、用户最感兴趣的是什么类别的视频?最不感兴趣的是什么类别的视频? 2、视频的发布日期和被推荐日期之间是否存在某种关系? 3、视频的标签数越多越好么?视频描述越详细越好么? 4、不同类型电影的上榜数量?不同类型电影的热度如何? 5、发布时间是如何分布的?从发布到上榜的时间差? 6、不同类型之间有区别吗?标签的长短与热度有关系吗? 7、喜欢,不喜欢,评论,甚至关评论等等之间与观看有没有什么关系? 8、不同类别之间,喜欢,不喜欢,评论和观看是怎么样的?

3)重要字段

1.时间:

trending\_date(推荐日期) publish\_time(发布时间)

2.内容类型:

channel\_title(频道) category\_id(类型id)

3.用户反馈数据:

views(观看数) likes(点赞数) dislikes(不喜欢数) comment\_count(评论数) 数据导入与预处理(本节以US数据为主)

1导包

import pandas as pd import numpy as np import os import json import csv import seaborn as sns import matplotlib.pyplot as plt import matplotlib as mpl from matplotlib import cm from subprocess import check_output from datetime import datetime

2 查看数据

data = pd.read_csv("C:/Users/long/Desktop/AI/USvideos.csv",index_col=0) data.head()

3对文件内容进行预处理

#日期格式不一样,所以要对其进行日期格式的转化,这里我们用到datetime函数 data["trending_date"] = pd.to_datetime(data["trending_date"],format ="%y.%d.%m") data["publish_time"]=pd.to_datetime(data["publish_time"],format ="%Y-%m-%dT%H:%M:%S.%fZ") data.head()

在这里插入图片描述

4 为防止数据缺失造成的数据误差 在这里插入图片描述

5将json文件转为csv文件

import json import csv jsonFile = open("C:/Users/long/Desktop/AI/US_category_id.json", "r") categoryId = json.load(jsonFile) with open('C:/Users/long/Desktop/AI/US_category_id.csv', 'w', newline='') as f: csvWriter = csv.writer(f) csvWriter.writerow(['id', 'category']) for i in categoryId['items']: csvWriter.writerow([i['id'], i['snippet']['title']])

得到的csv文件如图:

在这里插入图片描述

6 接下来我们导入json文件,让其与categor_id匹配

id_to_category = {} with open (r"C:/Users/long/Desktop/AI/US_category_id.json") as f: js = json.load(f) for category in js ["items"]: id_to_category[category["id"]] = category["snippet"]["title"] data["category_id"] = data["category_id"].map(id_to_category) data.head()

在这里插入图片描述

7提取需要的信息

data["dzb"] = data["likes"]/data["dislikes"] data["plb"] = data["comment_count"]/data["views"] data["djl"] = (data["dislikes"]+data["likes"])/data["views"] data["publish_timi"] = data["publish_time"].dt.time data["publish_ymd"] = data["publish_time"].dt.date data.head() 1、“dzb”点赞量和不点赞量比例是一种用来衡量用户对某种类型视频的赞同与不赞同的重要指标 2、"plb",评论占比等于"comment_count"/views 3、"djl",点击率等于("likes"+"dislikes")/"views" 4、为了方便浏览次数做分析,此时我们对发布时间进行提取。

在这里插入图片描述

数据图像绘制及数据分析(本节以US数据为主) 1. 不同类型电影的上榜数量? plt.figure(figsize=(16,9)) view_num=data.groupby("category").video_id.count().sort_values(ascending=False) sns.barplot(y=view_num.index,x=view_num.values,orient="h") plt.title("各类型上榜数量")

在这里插入图片描述 Entertainment娱乐版块位居第一。位居第二的是音乐版块。说明娱乐类型的视频受众比较广泛,大家都爱看,比较容易上热门。

2. 不同类型电影的热度如何? avg_view=data.groupby("category").apply(lambda x:int(x.views.sum()/x.views.count())) view=data.groupby("category").views.sum() fig,axes=plt.subplots(2,1,sharex=True,figsize=(16,9)) sns.barplot(x=view.index,y=view.values,ax=axes[0]) #左图 plt.xticks(rotation=45) sns.barplot(x=avg_view.index,y=avg_view.values,ax=axes[1]) axes[0].set_title('不同类别视频的浏览情况') axes[1].set_title('不同类别视频平均浏览情况') plt.show()

在这里插入图片描述

娱乐版块的上榜率高,但是视频浏览量总量和视频平均浏览情况,音乐类别都有所反超。数据反常的数据,为Nonprofits & Activism,非营利组织和行动主义的数据,总量少但是平均播放量位居第一

plt.figure(figsize=(16,9)) sns.boxplot(x="category",y="views",data=data) plt.xticks(rotation=45) plt.title("不同类别之间的观看箱型图")

在这里插入图片描述

|数据离散太大,箱型图并不能太直观的展现娱乐和音乐的播放上线比较高,超高播放量都是从这2个类别里出的电影整体的播放量很集中(相较于其他而言),且中位数较高,一旦上榜,其播放量必有较好的反响。music也有较好的中位数,上四分位数较高,view整体的表现较好。

作为一个新人youtube博主,选择一个平均浏览量高较高,且上榜数量较多(至少说明受众较多)的领域作为开拓较好。目标选定为娱乐,音乐,以及film&animation。

3. 发布时间是如何分布的? plt.figure(figsize=(16,9)) data.groupby("p_h").video_id.count().plot(linewidth=6,color="g",alpha=0.6) plt.xticks(range(0,24),range(0,24)) plt.title("发布时间")

在这里插入图片描述

下午15点是发布的高峰期,猜测可能是因为发布过后的几个小时(16-17点左右),是用户刷youtube的高峰期,这段时间的观看量可能是能否上热门的重要评判条件。因此可以考虑在下午15点—下午17点之间发布。

4. 从发布到上榜的时间差?不同类型之间有区别吗? data["timedelta"]=(data["trending_date"]-data["publish_time"]).dt.days data["time_cut"]=pd.cut(data["timedelta"],[0,1,3,5,7,3650],labels=["0-1天","1-3天","3-5天","5-7天","7以上"]) time_pie=data.groupby("time_cut").timedelta.count() time_pie.plot(kind = "pie", autopct='%.2f%%', fontsize=20, figsize=(16, 9)) plt.title("上榜时间") plt.show()

在这里插入图片描述

可以看到,有90.32%的youtube热门视频在7天之内上了热搜,其中1-3天内上热搜的占29.66%,其中3-5天上热搜的占30.21%。建议更新时长2控制在一周之内。

5. 标签的长短与热度有关系吗? plt.figure(figsize=(16,9)) data["length"]=data.tags.apply(lambda x :len(x.split("|"))) tag_num=data.groupby("category").length.mean() avg_view axi=sns.barplot(x=avg_view.index,y=avg_view.values) plt.xticks(rotation=45) ax2=axi.twinx() ax2=sns.lineplot(x=tag_num.index,y=tag_num.values,label="标签数量") plt.legend() plt.title("标签数量和平均阅读量")

在这里插入图片描述

可以很明显的看到,2个变量之间是没有相关性的

6. 喜欢,不喜欢,评论,甚至关评论等等之间与观看之间有没有什么关系? data_list=[] for i in['Music', 'Comedy', 'Entertainment', 'News & Politics', 'People & Blogs', 'Howto & Style', 'Film & Animation', 'Science & Technology']: data_list.append(data[data["category"]==i]) data_list2=[] for i in[ 'Gaming', 'Sports', 'Pets & Animals', 'Travel & Events', 'Autos & Vehicles', 'Education', 'Shows', 'Movies']: data_list2.append(data[data["category"]==i]) category_a=pd.concat(data_list,axis=0) category_b=pd.concat(data_list2,axis=0) sample=category_a[['views','likes','dislikes','comment_count','category']] sns.pairplot(sample,hue="category") sample=category_b[['views','likes','dislikes','comment_count','category']] sns.pairplot(sample,hue="category")

在这里插入图片描述

在这里插入图片描述

新人入坑指南 可以从娱乐,音乐,以及film&animation 三个类型的视频去切入战场。娱乐账号的上榜视频数量多,占总体上榜视频数的33%,有着非常广泛的受众,是一个很好的切入口。而音乐和film&animation的单个视频的观看量高切勿轻易踏入人和博客这个领域.这个领域分化比较严重,好的视频获赞不错,差的视频常常遭到用户的不喜欢。 下午15点是发布的高峰期,猜测可能是因为发布过后的几个小时(16-17点左右),是用户刷youtube的高峰期,这段时间的观看量可能是能否上热门的重要评判条件。因此可以考虑在下午15点—下午17点之间发布。 视频更新的间隔时间可以为7天。可以看到,有90.32%的youtube热门视频在7天之内上了热搜,其中1-3天内上热搜的占29.66%,其中3-5天上热搜的占30.21%。建议更新时长2控制在一周之内。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有